package com.kvn.test.util;

import org.springframework.util.Assert;

import com.alibaba.dubbo.common.utils.PojoUtils;
import com.alibaba.fastjson.JSON;

/**
 * @author wzy
 * @date 2017年8月10日 上午9:45:54
 */
public abstract class DubboCommandParamGenerator {

	public static String generate(Object... params) {
		StringBuilder sb = new StringBuilder("\"\"\"").append("\n");
		for(Object param : params){
			Assert.notNull(param, "参数中不能有null，null值用对应的class代替");
			if(param instanceof Class){ // 空对象传 class 过来
				sb.append(((Class<?>)param).getName()).append("=null\n");
				continue;
			}
			
			String className = param.getClass().getName();
			if(className.startsWith("java.")){
				sb.append(className).append("=").append(param).append("\n");
				continue;
			}
			
			sb.append(className).append("=").append(JSON.toJSONString(param)).append("\n");
		}
		
		return sb.append("\"\"\"").toString();
	}
	
}

